草庐IT

sql - GROUP BY 和 ORDER BY

全部标签

hadoop - 在 Spark SQL 中使用正则表达式函数从字符串中提取特定数字

我在mysql中有一个表,它有POST_ID和相应的INTEREST:我使用以下正则表达式查询来选择包含1,2,3的兴趣。SELECT*FROMINTEREST_POSTwhereINTERESTREGEXP'(?=.*[[::]])(?=.*[[::]])(?=.*[[::]])';我在HDFS中导入了表。但是,当我在SparkSQL中使用相同的查询时,它显示空记录。如何在spark中使用这里的REGEXP函数来选择包含1,2,3的兴趣? 最佳答案 您正在使用的正则表达式需要稍微更改一下。您可以执行以下操作。scala>valmy

sql - 在 Hive 中查询

在SQL中我们有分区依据和分组依据selectdeptno,count(*)cfromempgroupbydeptno;DEPTNOC-------103205306selectdeptno,count(*)over(partitionbydeptno)cfromemp;DEPTNOC-------103103103205205205205205306306306306306306如果我们需要在HIVE中练习同样的事情,会有什么选择。我们在Hive中有同样的东西吗?请建议提前致谢。 最佳答案 Hive支持窗口函数,参见Windowi

sql - 如何创建内部漏斗分析?

我想创建内部漏斗分析基础架构。所有用户事件提要信息都将写入所选的数据库/DW,然后,当我动态定义漏斗时,我希望能够为漏斗中的每个阶段选择session数。我在任何地方都找不到创建这种东西的例子。有人说我应该为此使用Hadoop和MapReduce,但我在网上找不到任何示例。 最佳答案 您的MapReduce非常简单:Mapper读取日志文件中的session行,其输出为(stag-id,1)将Reducer的数量设置为等于阶段的数量。Reducer对每个阶段的值求和。就像wordcount示例(这是Hadoop的“HelloWorl

SQL获取时间戳差大于30时id的个数

我有以下表格数据结构。我需要找到SESSIONS的数量。SESSIONis:对于一个userid,如果有多行,则检查时间戳。如果时间戳差异小于30,则将其视为一个session。+---------+----------+|userid|timestamp|+---------+----------+|1|10||1|11||1|55||2|65|+---------+----------+在上面的示例中,对于userid1,时间戳10和11被视为单个session。但是(55-11=44)大于30。所以,这是另一个session。因此用户id1和有2个session用户ID2和有1个

sql - hadoop操作只写一行?

我正在尝试处理tweets-clean.txt。通过处理,我的意思是获取每个用户标识的较早日期、最新日期和记录数,以及每行中的用户标识本身。我只得到一行,该行中只有最小和最大日期。我做错了什么?CREATETABLEtemptweets16(datestring,useridstring);LOADDATALOCALINPATH'tweets-clean.txt'INTOTABLEtemptweets16;INSERTOVERWRITELOCALDIRECTORY'./hive-output'SELECTuseridasuserid,MIN(FROM_UNIXTIME(UNIX_TIM

hadoop - sqoop 导出到 sql server 失败

我正在尝试将250mb的数据(75个字符数组列)从hdfs导出到sqlserver。它因以下错误而失败,Causedby:java.io.IOException:com.microsoft.sqlserver.jdbc.SQLServerException:Theincomingtabulardatastream(TDS)remoteprocedurecall(RPC)protocolstreamisincorrect.ToomanyparameterswereprovidedinthisRPCrequest.Themaximumis2100.然后我通过"-Dsqoop.export.

sql - HIVE-QL 中的 LEAD 函数语法

有什么方法可以将以下LEAD函数转换为HIVEQL格式??NVL(LEAD(START_DT)OVER(PARTITIONBYEV_ID,AR_EV_RLTNSHP_TYPE_CDORDERBYSTART_DT)-1,'2099-12-31')ASDERIVED_END_DTPFB错误:FAILED:ParseExceptionline1:1599missing)at'OVER'near'('insubquerysourceline1:1603missingFROMat'('near'('insubquerysourceline1:1604cannotrecognizeinputnea

scala - groupBy toList 元素顺序

我有一个包含多个字段的RichPipe,比方说:'sex'weight'age我需要按“性别”分组,然后获取元组列表(“体重”和“年龄”)。然后我想对每个组的列表执行scanLeft操作,并获得带有“性别”和“结果”的管道。我目前通过这样做来做到这一点pipe.groupBy('sex){_.toList('weight->'weights).toList('age-'ages)}然后将两个列表压缩在一起。我不确定这是最好的方法,而且我不确定列表中值的顺序是否相同,所以当我压缩两个列表时,元组不会混淆错误值。我在文档中没有发现任何相关信息。 最佳答案

Mybatis-Plus使用Wrapper自定义SQL

文章目录准备工作Mybatis-Plus使用Wrapper自定义SQL注意事项目录结构如下所示domain层Controller层Service层ServiceImplMapper层UserMapper.xml结果如下所示:单表查询条件构造器单表查询,Mybatis-Plus使用Wrapper自定义SQL联表查询不用,Mybatis-Plus的条件构造器时联表查询,Mybatis-Plus使用Wrapper自定义SQL总结简要说明:Mybatis-Plus使用Wrapper自定义SQL,主要的代码说明,详情可以往后看。假设有三张表(这三张表在:SpringBoot整合mybatis-plus-

sql - Spark : Group RDD Sql Query

我有3个RDD需要加入。valevent1001RDD:schemaRDD=[eventtype,id,location,date1][1001,4929102,LOC01,2015-01-2010:44:39][1001,4929103,LOC02,2015-01-2010:44:39][1001,4929104,LOC03,2015-01-2010:44:39]valevent2009RDD:schemaRDD=[eventtype,id,celltype,date1](不按id分组,因为我需要4个日期,具体取决于celltype)[2009,4929101,R01,2015-01